#include <iostream>
#include <exception>
#include <stdexcept>

void processTask() {
    try {
        // 执行某些可能抛出异常的操作
        throw std::runtime_error("处理错误");
    } catch (...) {
        // 捕获所有类型的异常，并将其封装为一个通用类型
        std::throw_with_nested(std::runtime_error("任务处理失败"));
    }
}
int main() {
    try {
        processTask();
    } catch (const std::exception& e) {
        std::cout << "捕获异常: " << e.what() << std::endl;
        try {
            std::rethrow_if_nested(e);
        } catch (const std::exception& ne) {
            std::cout << "嵌套异常: " << ne.what() << std::endl;
        }
    }
    return 0;
}